Maintainability of the Linux kernel

نویسندگان

  • Stephen R. Schach
  • Bo Jin
  • David R. Wright
  • Gillian Z. Heller
  • A. Jefferson Offutt
چکیده

We have examined 365 versions of Linux. For every version, we counted the number of instances of common (global) coupling between each of the 17 kernel modules and all the other modules in that version of Linux. We found that the number of instances of common coupling grows exponentially with version number. This result is significant at the 99.99% level, and no additional variables are needed to explain this increase. On the other hand, the number of lines of code in each kernel modules grows only linearly with version number. We conclude that, unless Linux is restructured with a bare minimum of common coupling, the dependencies induced by common coupling will, at some future date, make Linux exceedingly hard to maintain without inducing regression faults.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Maintainability of the kernels of open-source operating systems: A comparison of Linux with FreeBSD, NetBSD, and OpenBSD

We compared and contrasted the maintainability of four open-source operating systems: Linux, FreeBSD, NetBSD, and OpenBSD. We used our categorization of common coupling in kernel-based software to highlight future maintenance problems. An unsafe definition is a definition of a global variable that can affect a kernel module if that definition is changed. For each operating system we determined ...

متن کامل

Impact of release intervals on empirical research into software evolution, with application to the maintainability of Linux

In most empirical research on software evolution, analysis of the data is performed with respect to the release sequence number, rather than the release date. This distinction is important when the intervals between release dates vary widely, as is generally the case with open-source software. A widely cited paper on the maintainability of Linux was published in this journal in 2002. The paper ...

متن کامل

KVM/ARM: Experiences Building the Linux ARM Hypervisor

As ARM CPUs become increasingly common in mobile devices and servers, there is a growing demand for providing the benefits of virtualization for ARMbased devices. We present our experiences building the Linux ARM hypervisor, KVM/ARM, the first full system ARM virtualization solution that can run unmodified guest operating systems on ARM multicore hardware. KVM/ARM introduces split-mode virtuali...

متن کامل

Providing a Linux API on the Scalable K42 Kernel

K42 is an open-source research kernel targeted for 64bit cache-coherent multiprocessor systems. It was designed to scale up to multiprocessor systems containing hundreds or thousands of processors and to scale down to perform well on 2to 4-way multiprocessors. K42’s goal was to re-design the core of an operating system, but not an entire application environment. We wanted to use a commonly avai...

متن کامل

The Linux Kernel: A Challenging Workload for Transactional Memory

The Linux operating system kernel [4] is a large, mature, freely available, and well-tuned concurrent program. As such it is an ideal workload for a transactional memory hardware design. Operating systems need transactional memory for performance scalability, to help maintainability, and to provide services related to transactions to user programs. Most general purpose computing platforms run o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEE Proceedings - Software

دوره 149  شماره 

صفحات  -

تاریخ انتشار 2002